package com.pyb.java.commonutil;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.alibaba.fastjson.JSON;

import java.lang.reflect.Type;

public class FastJsonParse implements IParse{
    @Override
    public String toJson(@NonNull Object bean) {
        return JSON.toJSONString(bean);
    }

    @Nullable
    @Override
    public <T> T fromJson(@NonNull String json, @NonNull Class<T> clazz) {
        return JSON.parseObject(json, clazz);
    }

    @Nullable
    @Override
    public <T> T fromJson(@NonNull String json, @NonNull Type type) {
        String typeString = type.toString();
        if (!typeString.contains("List") && typeString.contains("String")) {
            return (T) json;
        } else {
            return JSON.parseObject(json, type);
        }
    }
}
